$( document ).ajaxStart(showLoading);
$( document ).ajaxStop(hideLoading);


function confirma(data, titulo, callback) {

	$("body").append('<div class=ventana>' + data + '</div>');
	// indicamos que las capas con la clase "ventana"
	$("div.ventana").dialog({
		// closeText: 'Cerrar',
		title : titulo,
		height : 150,
		width : 350,
		modal : true,
		resizable : false,

		buttons : {

			'Aceptar' : function() {
				callback(true);
				$(this).dialog('close');

			},

			'Cancelar' : function() {
				callback(false);
				$(this).dialog('close');

			}
		},

		close : function(event) {

			$(this).remove();

		}
	});

}

function alerta(data, titulo) {
	$("body").append('<div class=ventana>' + data + '</div>');

	$("div.ventana").dialog({
		title : titulo,
		height : 150,
		width : 350,
		modal : true,
		resizable : false,

		buttons : {

			"Aceptar" : function() {
				$(this).dialog("close");
			}
		},

		close : function() {

			$(this).remove();

		}
	});
}

/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
function nuevoAjax()
{

	var xmlhttp=false;
	try
	{
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			// Creacion del objet AJAX para IE
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }

	return xmlhttp;
}
/**
Elimina espacios en blanco antes y despues de la cadena
@param, string con la cadena que se desea evaluar
*/
function eliminaEspacios(cadena)
{
	// Funcion equivalente a trim en PHP
	var x=0, y=cadena.length-1;
	while(cadena.charAt(x)==" ") x++;
	while(cadena.charAt(y)==" ") y--;
	return cadena.substr(x, y-x+1);
}
/**
Valida que una cadena no este vacia
@param q, string con la cadena a evaluar
*/
function vacio(q)
{
           for ( i = 0; i < q.length; i++ )
		    {
                   if ( q.charAt(i) != " " )
				    {
                           return true;
                   }
           }
           return false;
}
/*Funcion encargada de validar lo ingresado por el usuario. Se devuelve TRUE en caso de ser
valido, FALSE en caso contrario */
function validaIngreso(valor)
{

	var reg=/(^[a-zA-Z0-9.@ ]{1,40}$)/;
	if(reg.test(valor)) return true;
	else return false;
}
/**
Abre una ventana pop up
@param  largo, largo de la ventana
@param ancho,  ancho de la ventana
@param pagina, pagina que abrir�
*/
function show(pagina,largo,ancho,scroll)
{
 window.open(pagina, "_blank", "width="+largo+",height="+ancho+"channelmode=0,dependent=0,directories=0,fullscreen=0,location=0,menubar=0,resizable=0,scrollbars="+scroll+",status=0,toolbar=0");
}
/**
Valida si el rut ingresado es correcto
*/
function Valida_Rut(Objeto)
{
	var tmpstr = "";
	var intlargo = Objeto.value
	if (intlargo.length> 0)
	{
		crut = Objeto.value
		largo = crut.length;
		if ( largo <2 )
		{
			alert('rut inv�lido')
			Objeto.focus()
			return false;
		}
		for ( i=0; i <crut.length ; i++ )
		if ( crut.charAt(i) != ' ' && crut.charAt(i) != '.' && crut.charAt(i) != '-' )
		{
			tmpstr = tmpstr + crut.charAt(i);
		}
		rut = tmpstr;
		crut=tmpstr;
		largo = crut.length;

		if ( largo> 2 )
			rut = crut.substring(0, largo - 1);
		else
			rut = crut.charAt(0);

		dv = crut.charAt(largo-1);

		if ( rut == null || dv == null )
		return 0;

		var dvr = '0';
		suma = 0;
		mul  = 2;

		for (i= rut.length-1 ; i>= 0; i--)
		{
			suma = suma + rut.charAt(i) * mul;
			if (mul == 7)
				mul = 2;
			else
				mul++;
		}

		res = suma % 11;
		if (res==1)
			dvr = 'k';
		else if (res==0)
			dvr = '0';
		else
		{
			dvi = 11-res;
			dvr = dvi + "";
		}

		if ( dvr != dv.toLowerCase() )
		{
			//alert('El Rut Ingreso es Invalido')
			//Objeto.focus()
			return false;
		}
		//alert('El Rut Ingresado es Correcto!')
		//Objeto.focus()
		return true;
	}
}
/**
Da formato al rut de tipo 15.653.634-k
*/
function Formato_Rut(objeto)
{
   texto = objeto.value;
	var tmpstr = "";
	
	for ( i=0; i < texto.length ; i++ )
	{
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
		{
			tmpstr = tmpstr + texto.charAt(i);
		}
	}
	
	texto = tmpstr;
	largo = texto.length;
      /*
	if ( largo < 2 )
	{
		alert("Debe ingresar el rut completo")
		window.document.formulario.rut.focus();
		window.document.formulario.rut.select();
		return false;
	}

	for (i=0; i < largo ; i++ )
	{
		if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )
 		{
			alert("El valor ingresado no corresponde a un R.U.T valido");
			window.document.formulario.rut.focus();
			window.document.formulario.rut.select();
			return false;
		}
	}
        */
	
	var invertido = "";
	for ( i=(largo-1),j=0; i>=0; i--,j++ )
	{
		invertido = invertido + texto.charAt(i);
	}
	
	var dtexto = "";
	dtexto = dtexto + invertido.charAt(0);
	dtexto = dtexto + '-';
	cnt = 0;

	for ( i=1,j=2; i<largo; i++,j++ )
	{
		//alert("i=[" + i + "] j=[" + j +"]" );
		if ( cnt == 3 )
		{
			dtexto = dtexto + '.';
			j++;
			dtexto = dtexto + invertido.charAt(i);
			cnt = 1;
		}
		else
		{
			dtexto = dtexto + invertido.charAt(i);
			cnt++;
		}
	}

	invertido = "";
	for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )
	{
		invertido = invertido + dtexto.charAt(i);
	}

	objeto.value = invertido.toUpperCase()

	//if ( revisarDigito2(texto) )
	//	return true;

	//return false;
}

function showLoading(){
	$.blockUI({ 
		css: { 	
			 	padding:        0, 
		        margin:         0, 
		        width:          '30%', 
		        top:            '40%', 
		        left:           '35%', 
		        textAlign:      'center', 
		        color:          '#fff', 
		        backgroundColor: 'rgba(54, 25, 25, .00004)',		        
		        border:         '0px solid #aaa', 		         
		        cursor:         'wait' 			
			 },
		message: '<h3><img src="../img/loading.gif" width="50px" height="50px"/> <br> Procesando...</h3>'
	});
}

function hideLoading(){
	$.unblockUI();
}

